home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
boosters.arc
/
MOVEBLK.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1980-01-01
|
4KB
|
125 lines
{ ------------------------------------------------
MOVEBLK moves one part of the screen to another
------------------------------------------------ }
Procedure MOVEBLK ( X1,Y1,X2,Y2,X3,Y3 : Integer);
{ Moves block defined by upper left and lower right
coordinates (X1,Y1),(X2,Y2) to a block beginning
at upper left coordinates (X3,Y3). The orginal block
is erased. }
begin
InLine ( $1E/
$8B/$46/$0C/
$8B/$4E/$08/
$29/$C1/
$41/
$8B/$46/$0E/
$8B/$56/$0A/
$29/$C2/
$42/
$D1/$E2/
$8B/$D9/
$29/$D4/
$E2/$FC/
$8C/$D0/
$8E/$C0/
$8B/$FC/
$52/
$53/
$BB/$49/$04/ { mov bx,449h video byte offset }
$31/$C0/ { xor ax,ax ax = 0 }
$8E/$D8/ { mov ds,ax video byte seg }
$8A/$07/ { mov al,[bx] get byte }
$3C/$07/ { cmp al,7 mono? }
$75/$06/ { jne graphx no }
$BA/$00/$B0/ { mov dx,0B000h regen for mono }
$EB/$0C/$90/ { jmp contin }
$BA/$DA/$03/ { mov dx,3DAh IBM CGA }
$EC/ { in al,dx will snow }
$24/$08/ { and al,1000b w/o this }
$74/$FB/ { jz vtrace check }
{ graphx: }
$BA/$00/$B8/ { mov dx,0B800h regen for graphics }
{ contin: mov ds,dx }
$8E/$DA/
$8B/$76/$0C/
$4E/
$8B/$D6/
$B1/$07/
$D3/$E2/
$B1/$05/
$D3/$E6/
$01/$D6/
$8B/$46/$0E/
$48/
$D1/$E0/
$01/$C6/
$5A/
$59/
$D1/$E9/
$1E/
$56/
$52/
$51/
$B8/$A0/$00/
$29/$C8/
$29/$C8/
$FC/
$51/
$F3/$A5/
$59/
$4A/
$74/$04/
$01/$C6/
$EB/$F5/
$59/
$5A/
$5F/
$07/
$52/
$51/
$BB/$A0/$00/
$29/$CB/
$29/$CB/
$B8/$20/$0E/
$FC/
$51/
$F3/$AB/
$59/
$4A/
$74/$04/
$01/$DF/
$EB/$F5/
$8B/$7E/$04/
$4F/
$8B/$D7/
$B1/$07/
$D3/$E2/
$B1/$05/
$D3/$E7/
$01/$D7/
$8B/$46/$06/
$48/
$D1/$E0/
$01/$C7/
$59/
$5A/
$8B/$F4/
$8C/$D0/
$8E/$D8/
$B8/$A0/$00/
$29/$C8/
$29/$C8/
$FC/
$51/
$F3/$A5/
$59/
$4A/
$74/$04/
$01/$C7/
$EB/$F5/
$8B/$E5/
$83/$EC/$04/
$1F/$5D);
end;